win32: Allow querying names for colors
authorBenjamin Otte <otte@redhat.com>
Sun, 21 Feb 2016 22:39:38 +0000 (23:39 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 22 Feb 2016 01:36:11 +0000 (02:36 +0100)
gtk/gtkwin32draw.c
gtk/gtkwin32drawprivate.h

index 27a7141c7405509e1e0233ed5348632977a03ee0..7590e09bdf564b7ff1ea770ac5ca8d63ac1074c9 100644 (file)
@@ -501,6 +501,31 @@ static struct {
 #undef RGB
 };
 
+const char *
+gtk_win32_get_sys_color_name_for_id (gint id)
+{
+  if (id >= 0 && id < G_N_ELEMENTS (win32_default_colors))
+    return win32_default_colors[id].name;
+  else
+    return NULL;
+}
+
+int
+gtk_win32_get_sys_color_id_for_name (const char *name)
+{
+  int i;
+
+  g_return_val_if_fail (name != NULL, -1);
+
+  for (i = 0; i < G_N_ELEMENTS (win32_default_colors); i++)
+    {
+      if (g_str_equal (name, win32_default_colors[i].name))
+        return i;
+    }
+
+  return -1;
+}
+
 void
 gtk_win32_get_sys_color (gint     id,
                          GdkRGBA *color)
index 20851fc65f77ac988a275ad2d77c7921c9a79978..da8ce7c74e9004c3750bbe68c096888d128fa7b4 100644 (file)
@@ -168,6 +168,9 @@ void                    gtk_win32_get_theme_margins             (const char
                                                                  GtkBorder      *out_margins);
 
 int                     gtk_win32_get_sys_metric                (gint            id);
+
+const char *            gtk_win32_get_sys_color_name_for_id     (gint            id);
+int                     gtk_win32_get_sys_color_id_for_name     (const char     *name);
 void                    gtk_win32_get_sys_color                 (gint            id,
                                                                  GdkRGBA        *color);